# !/usr/bin/env python
# -*- coding: utf-8 -*-

# @File   : testcaserunner.py
# @Time   : 2022/5/30 5:18 下午
# @Author : yujianhui
import pytest
from frame.caserun.caserun import CasesRun,get_case_vos
from frame.utils import ymlparse
from frame.login import login
from frame.vo.casevo import CaseVo

params={
    'path':'get',
    'module':'php-1',
    'type':'php-2'
}

def test_setup(cmd_param):
    env,platform=cmd_param
    conf=ymlparse.parse('config/conf.yaml')
    print('env={}\nplatform={}\nconf={}'.format(env,platform,conf))
    global token
    token=login.login(conf)

class TestCase:

    @pytest.mark.parametrize('case',get_case_vos(['cases/demo.xml']))
    def test_demo(self,case:CaseVo):
        CasesRun.case_run(case,params,token)



if __name__=='__main__':
    """
    本地调试时，不要使用pytest.main()函数，不能接收自定义的命令行参数【原因暂未找到】，在命令行使用下面的命令调试
    测试调试：
    python3 -m pytest -vs testcaserunner.py  --alluredir ./report/temp --durations=10 --env=PROD --sys=baidu
    生成allure报告：
    allure generate ./report/temp -o ./report/html --clean
    打开allure报告：
    allure open ./report/html
    """
    pytest.main(['./testcaserunner.py','-vs'])
